import db_decorator
from db_utils import con_my_sql

@db_decorator.local_doc_content_crypto_decorator
def document_con_my_sql(sql_code, params=None, connection=None):
    """
    执行文档相关SQL语句的函数，同样支持参数化查询，增强安全性，并且使用装饰器检查输入输出相关内容字段情况。

    :param sql_code: SQL语句模板，对于参数化查询部分用占位符表示（如 %s）
    :param params: 对应SQL语句模板中占位符的参数值，以元组或列表形式传入（可选参数，如果SQL语句不需要传入参数则可以不传）
    :param connection: 数据库连接对象（可选参数，如果没有提供则使用默认连接）
    :return: 如果执行成功，返回游标对象的查询结果列表；如果出现异常，返回包含异常类型和异常信息的元组
    """
    # 这里直接调用con_my_sql函数来执行实际的数据库操作，利用其已经实现好的逻辑
    return con_my_sql(connection, sql_code, params)

@db_decorator.public_doc_content_decorator
def public_con_my_sql(sql_code, params=None, connection=None):
    return con_my_sql(connection, sql_code, params)

# @private_key_crypto_decorator
# def private_con_my_sql(sql_code, params=None, connection=None):
#     return con_my_sql(sql_code, params, connection)
